{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "21b3aee0",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.naive_bayes import GaussianNB,MultinomialNB\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "from sklearn.metrics import accuracy_score,precision_score,recall_score,roc_curve\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "61b7bf81",
   "metadata": {},
   "outputs": [],
   "source": [
    "#读取数据集并清洗\n",
    "def process_data():\n",
    "    data = pd.read_csv('bank-full.csv', delimiter=';')\n",
    "    #数据清洗，删除空值\n",
    "    data = data.dropna()\n",
    "    #获取keys\n",
    "    keys = data.keys()\n",
    "    keys.drop([\"day\",\"month\",\"pdays\"])\n",
    "    #将文本数据换为数字类别 , apply方法依次遍历data[keys]里面的列,并进行数字转换\n",
    "    data = data[keys].apply(LabelEncoder().fit_transform) #LabelEncoder主要是将每一列的数据进行分类，例如分为5类，依次换为0-4，用数字代替\n",
    "    X = data.iloc[:,:-1]#特征集\n",
    "    y = data.iloc[:,-1]#标签集\n",
    "    x_train,x_test,y_train,y_test = train_test_split(X,y,test_size=0.2)#将整个数据集分为训练集和测试集,test_size=0.2测试集占20%\n",
    "    return x_train,x_test,y_train,y_test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "4695d8e0",
   "metadata": {},
   "outputs": [],
   "source": [
    "def GauNB(x_train,x_test,y_train,y_test):\n",
    "    #建立贝叶斯分类器模型\n",
    "    bayes = GaussianNB().fit(x_train,y_train)\n",
    "    y_predict = bayes.predict(x_test)#将训练好的模型针对测试集进行计算，得出结果后要与实际结果进行比较计算准确率\n",
    "    print(\"预测值：\",y_predict[:20])\n",
    "    print(\"实际值：\",np.array(y_test[:20]).reshape(-1))\n",
    "    score(y_test,y_predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "6417a7c8",
   "metadata": {},
   "outputs": [],
   "source": [
    "#多项式朴素贝叶斯 （特征值不能为负）\n",
    "def MulNB(x_train,x_test,y_train,y_test):\n",
    "    mul = MultinomialNB().fit(x_train,y_train)\n",
    "    y_predict = mul.predict(x_test)\n",
    "    #评价指标\n",
    "    score(y_test,y_predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "9b00e8d3",
   "metadata": {},
   "outputs": [],
   "source": [
    "#评价指标\n",
    "def score(y_test,y_predict):\n",
    "    print(\"准确率:\",accuracy_score(y_predict,y_test))\n",
    "    print(\"精确率:\",precision_score(y_predict,y_test))\n",
    "    print(\"召回率:\",recall_score(y_predict,y_test))\n",
    "    #ROC曲线\n",
    "    fpr,tpr,thresholds = roc_curve(y_test,y_predict)\n",
    "    fig = plt.figure(figsize = (10,6))\n",
    "    plt.xlim(0,1)\n",
    "    plt.ylim(0,1)\n",
    "    plt.plot(fpr,tpr,color=\"red\")\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "76dc77fd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "预测值： [0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1]\n",
      "实际值： [0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0]\n",
      "准确率: 0.8335729293376092\n",
      "精确率: 0.5051258154706431\n",
      "召回率: 0.3575197889182058\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "准确率: 0.6722326661506137\n",
      "精确率: 0.65237651444548\n",
      "召回率: 0.2127013065937405\n"
     ]
    },
    {
     "data": {
      "image/png": "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C9JZg8tPD26ySdYpVcAsW5IkLS9G+Ne/UrkaOhRefjld33prOPnkVLD23ReaNcs0poqHZUuSpC+/hMcfr5kenDYtTQXusQf8+tepYG2/vdODqhfLliSpPE2fXjM9OHp0Wo+13nrpzMHKSujbFzbdNOuUKgGWLUlSeYgRXn215tOD48al6+3awfHHp4LVvTusvXamMVV6LFuSpNK1YEE6EuergjVlSrrepQtccUUqWN/7ntODyivLliSptMyYkXZtr6pKhzzPnw/Nm0OvXnDppdCvH3zrW1mnVBmxbEmSiluM8MYbNaNXL7yQrrVpA0cfnUav9tsP1l0366QqU5YtSVLxWbgQxoyp+fTge++l6507w2WXpYK1885OD6ogWLYkScXhk09gxIia6cF582CddaBnT7jwwjQ9uMUWWaeUvsGyJUkqTDHCW2/VTA8++2y6tvnmcPjhafSqR4+0HksqYJYtSVLhWLwYxo6tKViTJ6fru+wCl1ySCtauu6bzCKUiYdmSJGXr00/h4YdTuRo5EubOTXtd9egB554L/ftD27ZZp5TqzbIlSWp8EyemcwerquCZZ6C6GjbbDA49NI1e9eyZdnOXSoBlS5KUf4sXp1L11fTgO++k6zvuCBdcAAMGpE8SOj2oEmTZkiTlx2efpWnBqqo0TTh7NjRrlva8OuusND241VZZp5TyzrIlSWo477xTM3r11FOwdCm0bg2DBqXpwV69YIMNsk4pNSrLliSp/pYsgeeeq1l/NXFiur7DDnDeealgdekCFRXZ5pQyZNmSJK2eOXPgkUdSuRoxAmbNgqZNYd994cc/TgWrffusU0oFw7IlSarb5Mk104NjxqQRrVat0q7tlZVwwAGw4YZZp5QKkmVLkvRNS5fC88/XFKwJE9L1bbeFc85JBatrV6cHpRxYtiRJybx5X58enDkTmjSBffaBk09OBatDh6xTSkXHsiVJ5ez991O5GjoUnnwy7YfVsiX06ZPKVe/esNFGWaeUipplS5LKSXU1vPhizfTg66+n6x07wplnpoK1115pREtSg8jpT1MIoTfwR6ACuDnGeNUK77cAbgfaLfue18YYb23grJKk+vj8cxg1KpWr4cNhxoy01mrvveHaa1PB6tgx65RSyaqzbIUQKoDrgV7AVGBcCGFojHHCcredBkyIMVaGEFoDE0MId8QYF+UltSRp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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "if __name__ == \"__main__\":\n",
    "    #读取数据并处理数据\n",
    "    x_train,x_test,y_train,y_test = process_data()\n",
    "    GauNB(x_train,x_test,y_train,y_test)\n",
    "    MulNB(x_train,x_test,y_train,y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c6abfe44",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
